package com.plian.system.service.qg.subsidiary;

import com.plian.system.dto.qg.subsidiary.SubsidiaryIntroduceReformDTO;
import com.plian.system.entity.qg.subsidiary.SubsidiaryIntroduceReform;
import com.plian.system.model.R;
import com.plian.system.mybatis.base.BaseService;
import com.plian.system.vo.qg.subsidiary.SubsidiaryIntroduceReformVO;
import com.plian.system.vo.report.ReportReturnVO;

import javax.servlet.http.HttpServletResponse;

/**
 * 引进非市级国有资本 服务类
 *
 * @author jianglei
 * @since 2019-11-05
 */
public interface ISubsidiaryIntroduceReformService extends BaseService<SubsidiaryIntroduceReform> {

    /**
     * 保存或新增,包含子表
     *
     * @param subsidiaryIntroduceReform
     * @return
     */
    Boolean submit(SubsidiaryIntroduceReform subsidiaryIntroduceReform);

    /**
     * 获取detail 包含子表
     * @param subsidiaryIntroduceReformVO
     * @return
     */
    R<SubsidiaryIntroduceReformVO> getDetailObj(SubsidiaryIntroduceReformVO subsidiaryIntroduceReformVO);

    /**
     * 引进非市级国有资本 统计表
     * @param subsidiaryIntroduceReformDTO
     * @return
     */
    ReportReturnVO introduceStatistics(SubsidiaryIntroduceReformDTO subsidiaryIntroduceReformDTO);

    /**
     * 引进非市级国有资本情况报表
     * @param subsidiaryIntroduceReformDTO
     * @return
     */
    ReportReturnVO introduceCapitalInfoReport(SubsidiaryIntroduceReformDTO subsidiaryIntroduceReformDTO);

    /**
     * 导出详情
     * @param subsidiaryIntroduceReformVO
     * @param response
     */
    void exportDetailExcel(SubsidiaryIntroduceReformVO subsidiaryIntroduceReformVO, HttpServletResponse response);
}
